--- a/src/dsl_cpe_control.c
+++ b/src/dsl_cpe_control.c
@@ -221,6 +221,9 @@ extern DSL_Error_t DSL_CPE_Pipe_StaticRe
 #endif /* INCLUDE_DSL_RESOURCE_STATISTICS*/
 #endif
 
+extern void ubus_init();
+extern void ubus_deinit();
+
 DSL_char_t *g_sFirmwareName1 = DSL_NULL;
 DSL_FirmwareFeatures_t g_nFwFeatures1 = {DSL_FW_XDSLMODE_CLEANED, DSL_FW_XDSLFEATURE_CLEANED,
    DSL_FW_XDSLFEATURE_CLEANED};
@@ -7831,6 +7834,8 @@ DSL_int_t dsl_cpe_daemon (
 #endif /* defined(INCLUDE_DSL_JSON_PARSING) && (INCLUDE_DSL_JSON_PARSING == 1) */
 #endif /* RTEMS*/
 
+   ubus_init();
+
    /* Open DSL_CPE_MAX_DSL_ENTITIES devices*/
    for (nDevice = 0; nDevice < DSL_CPE_DSL_ENTITIES; nDevice++)
    {
@@ -8367,6 +8372,7 @@ DSL_int_t dsl_cpe_daemon (
 #endif /* INCLUDE_DSL_CPE_CLI_SUPPORT */
 
 DSL_CPE_CONTROL_EXIT:
+   ubus_deinit();
 
    if (INCLUDE_DSL_BONDING)
    {
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -17,7 +17,7 @@ else
 dsl_cpe_control_common_ldflags =
 endif
 
-dsl_cpe_control_LDADD = -lpthread -lrt
+dsl_cpe_control_LDADD = -lpthread -lrt -lubox -lubus
 
 if INCLUDE_DSL_CPE_DTI_SUPPORT
 dsl_cpe_control_LDADD += -ldti_agent
@@ -118,7 +118,8 @@ dsl_cpe_control_SOURCES = \
 	dsl_cpe_control.c \
 	dsl_cpe_init_cfg.c \
 	dsl_cpe_linux.c \
-	dsl_cpe_debug.c
+	dsl_cpe_debug.c \
+	dsl_cpe_ubus.c
 
 dsl_cpe_control_SOURCES += \
 	$(dsl_cpe_control_dti_sources)
